Functional Programming and Program Transformation with Interaction Nets

نویسندگان

  • Ian Mackie
  • Jorge Sousa Pinto
  • Miguel Vilaça
چکیده

In this paper we propose to use Interaction Nets as a formalism for Visual Functional Programming. We consider the use of recursion patterns and introduce a suitable archetype/instantiation mechanism for interaction agents. We also consider program transformation by fusion, a well-known transformation technique, and show that this extends smoothly to our visual programming framework. Examples of applying this technique include transformations of two-pass functions into single-pass ones, and the introduction of accumulations.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Interaction nets: programming language design and implementation

This paper presents a compiler for interaction nets, which, just like term rewriting systems, are user-definable rewrite systems which offer the ability to specify and program. In the same way that the λ -calculus is the foundation for functional programming, or horn clauses are the foundation for logic programming, we give in this paper an overview of a substantial software system that is curr...

متن کامل

Visual Programming with Recursion Patterns in Interaction Nets

In this paper we propose to use Interaction Nets as a formalism for Visual Functional Programming. We consider the use of recursion patterns as a programming idiom, and introduce a suitable archetype/instantiation mechanism for interaction agents, which allows one to define agents whose behaviour is based on recursion patterns.

متن کامل

An Overview of Functional Nets

Functional nets combine key ideas of functional programming and Petri nets to yield a simple and general programming notation. They have their theoretical foundation in Join calculus. This paper gives an overview of functional nets as a kernel programming language, it presents an object-based version of Join calculus, and it shows how the two relate. Over the last decades an operational view of...

متن کامل

Encoding Iterators in Interaction Nets

We propose a method for encoding iterators (recursion operators) using interaction nets. The method can be used to obtain a visual notation for functional programs, and also to extend with recursion the many translations of the λ-calculus into interaction nets, which have been proposed as efficient implementation mechanisms. We exemplify the method with a number of list-processing examples that...

متن کامل

Coinductive Techniques for Operational Equivalence of Interaction Nets

In this paper we study a notion of operational equivalence for interaction nets, following the recent success of applying methods based on bisimulation to functional and object oriented programming languages. We set up notions of contextual equivalence and bisimilarity and show that they coincide. A coinduction principle then gives a simple and robust way of showing when two interaction nets ar...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005